Skip to content

fix: accept Claude native trajectories - #52

Open
vincentkoc wants to merge 1 commit into
mainfrom
fix/native-claude-trajectory-eligibility
Open

fix: accept Claude native trajectories#52
vincentkoc wants to merge 1 commit into
mainfrom
fix/native-claude-trajectory-eligibility

Conversation

@vincentkoc

@vincentkoc vincentkoc commented Jul 29, 2026

Copy link
Copy Markdown
Member

What does this PR do?

Marks Claude Code native trajectories as real harness events so completed Claude runs remain eligible for native aggregation.

Why?

The native runner already converts Claude Code stream-json output into trajectory.json, but the harness allowlist omitted claude-code. Aggregation therefore classified otherwise valid Claude runs as trajectory_unavailable.

Changes

  • add claude-code to the real-trajectory harness allowlist
  • assert every pinned native harness reports real_harness_events

Live proof

A native Claude Code control run completed four tasks with four result files, four valid completed results, and no infrastructure failures. Aggregation classified every trajectory as real; the run remained ineligible only because it was intentionally marked as an exploratory four-task subset.

  • coverage: 4/4
  • score: 0.75
  • exact passes: 3
  • trajectory complete: true
  • trajectory status: real for all four tasks
  • infrastructure failures: 0
  • exclusion reason: exploratory_subset

Tests

  • python -m pytest -q passes locally (444 passed, 5 skipped)
  • python -m ruff check clawbench app.py scripts tests passes locally
  • live Claude Code native run aggregates as real harness events

@clawsweeper clawsweeper Bot added rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. P2 Normal priority bug or improvement with limited blast radius. labels Jul 29, 2026
@clawsweeper

clawsweeper Bot commented Jul 29, 2026

Copy link
Copy Markdown

Codex review: needs maintainer review before merge. Reviewed August 4, 2026, 2:03 PM ET / 18:03 UTC.

ClawSweeper review

What this changes

The PR adds Claude Code to the native trajectory allowlist and tests that every pinned native harness reports real harness events.

Merge readiness

⚠️ Ready for maintainer review - 3 items remain

The current default branch still omits Claude Code from real trajectory eligibility, while this focused member-authored PR directly repairs that mismatch with a regression assertion and supplied live native-run proof. It is ready for maintainer review rather than cleanup.

Priority: P2
Reviewed head: ac1c974c12749dddb5d49af734561cec59910c65
Owner decision: Required. See Decision needed.

Review scores

Measure Result What it means
Overall readiness 🦞 diamond lobster (5/6) A narrowly scoped correction with direct after-fix native-run evidence and focused regression coverage.
Proof confidence 🦞 diamond lobster (5/6) Sufficient (live_output): The PR body reports an after-fix four-task native Claude Code control run with all trajectories classified real and no infrastructure failures.
Patch quality 🦞 diamond lobster (5/6) No actionable review findings were identified.

Verification

Check Result Evidence
Real behavior Verified Sufficient (live_output): The PR body reports an after-fix four-task native Claude Code control run with all trajectories classified real and no infrastructure failures.
Evidence reviewed 4 items Current-main eligibility gap: Claude Code is a pinned native harness but is absent from the real-trajectory allowlist, so its run manifest is marked unsupported.
Aggregation behavior: Native aggregation requires real_harness_events plus real per-task trajectories; otherwise it assigns trajectory_unavailable.
Existing Claude trajectory support: Current tests already establish that Claude Code stream-json is converted to a real trajectory with canonical model identity validation.
Findings None None.
Security None None.

How this fits together

ShellBench’s native runner records a manifest and trajectory for each harness run. Native aggregation consumes those fields to determine whether completed results are eligible for reporting.

flowchart LR
  A[Claude Code run] --> B[Native runner]
  B --> C[Run manifest]
  C --> D[Trajectory eligibility]
  D --> E[Native aggregation]
  E --> F[Reported results]
Loading

Decision needed

Question Recommendation
Should this member-authored correction be merged as a forward-only Claude Code eligibility change while preserving historical manifests? Merge the correction: Accept valid future Claude Code trajectories as native evidence while leaving historical manifests unchanged.

Why: The implementation and proof support the fix, but accepting the resulting reporting-cohort change is a maintainer decision.

Before merge

  • Resolve merge risk (P1) - Future valid Claude Code runs become eligible without changing historical manifests, so comparative reports should distinguish the forward-only cohort correction.
  • Complete next step (P2) - A member-authored PR requires maintainer merge judgment; no discrete repair finding remains for an automated fix lane.
Agent review details

Security

None.

Review metrics

Metric Value Why it matters
Patch scope 2 files; production +1/-1, tests +12 The behavior change is isolated to the eligibility registry and one exhaustive harness regression assertion.

Merge-risk options

Maintainer options:

  1. Merge with cohort note (recommended)
    Land the correction and document that it affects future valid Claude Code runs without rewriting historical manifests.

Technical review

Best possible solution:

Merge the allowlist correction and regression test, then identify the forward-only eligibility change when comparing Claude Code result cohorts.

Do we have a high-confidence way to reproduce the issue?

Yes—current source shows that Claude Code is a pinned harness yet receives unsupported trajectory mode, and aggregation excludes that mode. The PR body also reports an after-fix four-task native run classified real.

Is this the best way to solve the issue?

Yes—the single allowlist entry matches the existing Claude Code stream-json trajectory writer, and the exhaustive harness assertion prevents this registry mismatch from recurring.

AGENTS.md: not found in the target repository.

Codex review notes: model internal, reasoning high; reviewed against 884dd1bb5511.

Labels

Label changes:

  • add rating: 🦞 diamond lobster: Overall readiness is 🦞 diamond lobster; proof is 🦞 diamond lobster and patch quality is 🦞 diamond lobster.
  • remove rating: 🐚 platinum hermit: Current PR rating is rating: 🦞 diamond lobster, so this older rating label is no longer current.

Label justifications:

  • P2: Completed Claude Code runs are incorrectly excluded from native aggregation, with a bounded reporting impact.
  • merge-risk: 🚨 compatibility: The corrected manifest classification changes which future Claude Code results are eligible for aggregation.
  • rating: 🦞 diamond lobster: Overall readiness is 🦞 diamond lobster; proof is 🦞 diamond lobster and patch quality is 🦞 diamond lobster.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (live_output): The PR body reports an after-fix four-task native Claude Code control run with all trajectories classified real and no infrastructure failures.
  • proof: sufficient: Contributor real behavior proof is sufficient. The PR body reports an after-fix four-task native Claude Code control run with all trajectories classified real and no infrastructure failures.

Evidence

What I checked:

Likely related people:

  • Vincent Koc: Local history connects this contributor to native-harness result and trace stabilization work and the model registry. (role: recent native-evaluation contributor; confidence: high; commits: b9acd9f7a010, 569b5c39c783; files: scripts/native_eval/models.py, tests/test_native_eval_runner.py)

Rating scale

Score Internal tier Crab rank Meaning
6/6 S 🦀 challenger crab Exceptional readiness
5/6 A 🦞 diamond lobster Very strong readiness
4/6 B 🐚 platinum hermit Good normal PR; ordinary maintainer review
3/6 C 🦐 gold shrimp Useful, but confidence is limited
2/6 D 🦪 silver shellfish Proof or implementation needs work
1/6 F 🧂 unranked krab Not merge-ready
N/A NA 🌊 off-meta tidepool Rating does not apply

Overall follows the weaker of proof and patch quality.
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

Workflow

  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

History

Review history (24 earlier review cycles; latest 8 shown)
  • reviewed 2026-08-02T22:18:39.060Z sha ac1c974 :: needs maintainer review before merge. :: none
  • reviewed 2026-08-03T01:48:10.144Z sha ac1c974 :: needs maintainer review before merge. :: none
  • reviewed 2026-08-03T04:09:32.756Z sha ac1c974 :: needs maintainer review before merge. :: none
  • reviewed 2026-08-03T09:05:13.579Z sha ac1c974 :: needs maintainer review before merge. :: none
  • reviewed 2026-08-03T17:35:47.679Z sha ac1c974 :: needs maintainer review before merge. :: none
  • reviewed 2026-08-03T19:02:00.829Z sha ac1c974 :: needs maintainer review before merge. :: none
  • reviewed 2026-08-03T20:13:37.375Z sha ac1c974 :: needs maintainer review before merge. :: none
  • reviewed 2026-08-04T15:02:47.589Z sha ac1c974 :: needs maintainer review before merge. :: none

@vincentkoc
vincentkoc marked this pull request as ready for review July 29, 2026 17:17
@vincentkoc
vincentkoc requested a review from a team as a code owner July 29, 2026 17:17
@clawsweeper clawsweeper Bot added proof: sufficient Contributor real behavior proof is sufficient. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. and removed proof: sufficient Contributor real behavior proof is sufficient. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. labels Jul 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. P2 Normal priority bug or improvement with limited blast radius. proof: sufficient Contributor real behavior proof is sufficient. rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant